#include<bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
const int N=2e5+10;
#define INF 0x3f3f3f3f;
typedef long long int ll;
#define close(); std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
//----------------------------------------------------------------------------//
int n,a[110],st[110];//st处理当前状态
int main()
{
	close();
	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];//从0开始好取模
	
	int ans=0;
	for(int i=0;i<n;i++)
	{
		int sum=0,num=1,pos=i,sz=0;//总和,当前数到几,下标,记录已经拿了多少个数字
		memcpy(st,a,sizeof st);

		while(sz<n&&num<=n)
		{
			while(st[pos]==-1) pos=(pos+1)%n;

			if(st[pos]==num)
			{
				sum+=st[pos];
				st[pos]=-1;
				sz++;
				num=1;//从下一个从新开始数
			}
			else num++;//往下数,下标走

			pos=(pos+1)%n;
		}
		
		ans=max(ans,sum);	
	}
	cout<<ans<<'\n';

	return 0;
}